In the field of medical diagnostics, medical instruments may utilize methods such as chromatography to analyze blood samples from patients. Each chromatographic analysis may result in more than 200 kilobyte data cluster. Typical medical diagnosis equipment may be used in a hospital or a clinic for over 20 years, and provide analysis results for up to about 6000 samples each day. Thus, huge amounts of data related to the performed medical diagnosis data are accumulated over time.
Unlike traditional databases common to software applications in other fields, medical diagnostics may comprise little or no redundant data which can be ignored or even deleted. Every data record may potentially contain information which may be critical to a correct diagnosis of a patient. More so, each of the data records may contain information pertaining to the condition of the medical instrument as a whole or its parts, the operators of the instrument or the like, information which may be relevant in the detection of machine or human related malfunctions in the diagnosis process.
With medical instrumentation, data records regarding new samples are constantly generated and updated in a database.
Client applications typically access the database to obtain a recent snapshot of the data, usually by defining a filter indicating relevant records and data portions. A paging mechanism is typically used to obtain the snapshot, so that it can be displayed to a user, typically a machine operator or a member of the medical staff.
Traditional paging, however, does not allow the snapshot to be updated without user intervention when new records join the database. The user is typically not made aware of the ongoing changes and additions taking place in a relatively large dataset. Thus, the display rarely represents an accurate filtered, sorted view of relevant events in real-time.
Client-side paging is not effective when it comes to dealing with very large databases (VLDBs). Handling paging at the business logic level is not effective because each client may require different filtering and sorting. With specific server-side paging, each paging component utilizes its own set of data, procedures and logic within the database. More so, frequent database updates may eventually result in excessive memory consumption.